module.exports = {
  funcList: [{
    name: '高级函数',
    enCode: 'extend',
    formula: [
      {
        name: 'IsEquals',
        enCode: 'IsEquals',
        isNullParam: false,
        tip: '判断变量值和指定文本是否相等',
        example: 'IsEquals(变量或函数,文本值)',
        usage: '判断变量值和指定文本是否相等'
      },
      {
        name: 'MoneyToChina',
        enCode: 'MoneyToChina',
        isNullParam: false,
        tip: '小写金额转大写金额',
        example: 'MoneyToChina(变量或函数)',
        usage: '将小写金额转为大写金额'
      },
      {
        name: 'ChinaToMoney',
        enCode: 'ChinaToMoney',
        isNullParam: false,
        tip: '大写金额转小写金额',
        example: 'MoneyToChina(变量或函数)',
        usage: '大写金额转小写金额'
      }
    ]
  }, {
    name: '数组操作',
    enCode: 'array',
    formula: [
      {
        name: 'CheckIsTrue',
        enCode: 'CheckIsTrue',
        isNullParam: false,
        tip: '检查数组中当前行的值是否为真',
        example: 'CheckIsTrue(变量)',
        usage: '检查数组中当前行的值是否为真'
      },
      {
        name: 'CheckIsFalse',
        enCode: 'CheckIsFalse',
        isNullParam: false,
        tip: '检查数组中当前行的值是否为假',
        example: 'CheckIsFalse(变量)',
        usage: '检查数组中当前行的值是否为假'
      },
      {
        name: 'GetValue',
        enCode: 'GetValue',
        isNullParam: false,
        tip: '获取一组数据中指定索引的值',
        example: 'GetValue(变量或函数,1)',
        usage: '获取一组数据中指定索引的值'
      },
      {
        name: 'RowIndex',
        enCode: 'RowIndex',
        isNullParam: false,
        tip: '获取当前行索引',
        example: 'RowIndex()',
        usage: '获取当前行索引'
      },
      {
        name: 'ArrayMultiply',
        enCode: 'ArrayMultiply',
        isNullParam: false,
        tip: '将多个数组成员相乘',
        example: 'ArrayMultiply(变量或函数,变量或函数,...)',
        usage: '将至少两个数组中的成员计算向乘 ArrayMultiply([1,2,3],[2,3,4]) = [2,6,12]'
      }
    ]
  }, {
    name: '逻辑函数',
    enCode: 'logic',
    formula: [
      {
        name: 'If',
        enCode: 'If',
        isNullParam: false,
        tip: '条件判断',
        example: 'If(成绩>60,\'及格\',\'不及格\')',
        usage: 'If(逻辑语句,真值,假值)。'
      },
      {
        name: 'IsTrue',
        enCode: 'IsTrue',
        isNullParam: false,
        tip: '通过第一个结果数组组合成新的数组',
        example: 'IsTrue([true,false,true,true],[1,2,3,4],[5,6,7,8])=[1,6,3,4]',
        usage: 'IsTrue(逻辑结果,为真时的一组值,为假时的一组值)。'
      },
      {
        name: 'IsFalse',
        enCode: 'IsFalse',
        isNullParam: false,
        tip: '通过第一个结果数组组合成新的数组',
        example: 'IsFalse([true,false,true,true],[1,2,3,4],[5,6,7,8])=[5,1,7,8]',
        usage: 'IsFalse(逻辑结果,为真时的一组值,为假时的一组值)。'
      }
    ]
  }, {
    name: '数学函数',
    enCode: 'number',
    formula: [
      {
        name: 'Sum',
        enCode: 'Sum',
        isNullParam: false,
        tip: '求合',
        example: 'Sum(变量,变量,变量) 或 Sum(一组数据变量)',
        usage: '计算成员变量或列表中一组数据的合'
      },
      {
        name: 'Max',
        enCode: 'Max',
        isNullParam: false,
        tip: '取最大值',
        example: 'Max(a,b,c,d) 或 Max([1,2,3])',
        usage: '计算成员变量或列表中一组数据的最大值'
      },
      {
        name: 'Min',
        enCode: 'Min',
        isNullParam: false,
        tip: '取最小值',
        example: 'Min(变量,变量,变量) 或 Min(一组数据变量)',
        usage: '计算成员变量或列表中一组数据的最小值'
      },
      {
        name: 'Average',
        enCode: 'Average',
        isNullParam: false,
        tip: '计算平均值',
        example: 'Average(变量,变量,变量) 或 Average(一组数据变量)',
        usage: '计算成员变量或列表中一组数据的平均值'
      },
      {
        name: 'Multiply',
        enCode: 'Multiply',
        isNullParam: false,
        tip: '乘法计算',
        example: 'Multiply(变量,变量)',
        usage: 'Multiply(购置费用,数量)'
      },
      {
        name: 'ToString',
        enCode: 'ToString',
        isNullParam: false,
        tip: '将数字转为字符串',
        example: 'ToString(变量,格式)',
        usage: '格式：C=货币格式，输出: $16,325.62 C1保留一位\r\n P=百分比 18.25%\r\n F2=固定小数点格式,F2=1.25 F3=1.251 E=科学计数法'
      }
    ]
  }, {
    name: '日期函数',
    enCode: 'time',
    formula: [
      {
        name: 'Now',
        enCode: 'Now',
        isNullParam: true,
        tip: '当前时间',
        example: 'Now()',
        usage: '返回当前时间'
      },
      {
        name: 'AddDay',
        enCode: 'AddDay',
        isNullParam: false,
        tip: '添加天数',
        example: 'AddDay(时间,添加的天数)',
        usage: '添加天数'
      },
      {
        name: 'Date',
        enCode: 'Date',
        isNullParam: false,
        tip: '获取日期',
        example: 'Date(时间)',
        usage: '获取日期'
      },
      {
        name: 'Format',
        enCode: 'Format',
        isNullParam: false,
        tip: '格式化时间',
        example: 'Format(变量或当前时间,\'yyyy-MM-dd HH:mm:ss\')',
        usage: '格式化时间：yyyy=年份 MM=月份 dd=日期\r\nHH=小时 mm=分 ss=秒'
      },
      {
        name: 'DayOfWeek',
        enCode: 'DayOfWeek',
        isNullParam: false,
        tip: '获取第几周',
        example: 'DayOfWeek(变量或当前时间,语言)',
        usage: '获取第几周 语言：zh=中文 en=英文'
      },
      {
        name: 'DayOfYear',
        enCode: 'DayOfYear',
        isNullParam: false,
        tip: '一年中的第几天',
        example: 'DayOfYear(变量或当前时间)',
        usage: '一年中的第几天'
      },
      {
        name: 'DateDif',
        enCode: 'DateDif',
        isNullParam: false,
        tip: '计算两个时间的时差',
        example: 'DateDif(开始时间,结束时间,时差类型)',
        usage: '计算两个时间的时差 时差类型：y=年 M=月 d=日期 h=小时 m=分钟 s=秒'
      },
      {
        name: 'Year',
        enCode: 'Year',
        isNullParam: false,
        tip: '获取年',
        example: 'Year(变量或当前时间)',
        usage: '获取年'
      },
      {
        name: 'Month',
        enCode: 'Month',
        isNullParam: false,
        tip: '获取月',
        example: 'Month(变量或当前时间)',
        usage: '获取月'
      },
      {
        name: 'Day',
        enCode: 'Day',
        isNullParam: false,
        tip: '获取日期',
        example: 'Month(变量或当前时间)',
        usage: '获取日期'
      },
      {
        name: 'Hour',
        enCode: 'Hour',
        isNullParam: false,
        tip: '获取小时',
        example: 'Hour(变量或当前时间)',
        usage: '获取小时'
      },
      {
        name: 'Minute',
        enCode: 'Minute',
        isNullParam: false,
        tip: '获取分钟',
        example: 'Minute(变量或当前时间)',
        usage: '获取分钟'
      },
      {
        name: 'Second',
        enCode: 'Second',
        isNullParam: false,
        tip: '获取秒',
        example: 'Second(变量或当前时间)',
        usage: '获取秒'
      }
    ]
  }, {
    name: '字符串',
    enCode: 'string',
    formula: [
      {
        name: 'Len',
        enCode: 'Len',
        isNullParam: false,
        tip: '字符串长度',
        example: 'Len(变量)',
        usage: '字符串长度'
      },
      {
        name: 'Trim',
        enCode: 'Trim',
        isNullParam: false,
        tip: '去除左右空字符',
        example: 'Trim(变量)',
        usage: '去除左右空字符'
      },
      {
        name: 'IsNull',
        enCode: 'IsNull',
        isNullParam: false,
        tip: '是否为空',
        example: 'IsNull(变量)',
        usage: '判断字符串是否为空'
      },
      {
        name: 'Substring',
        enCode: 'Substring',
        isNullParam: false,
        tip: '提取字符串',
        example: 'Substring(变量,开始位置,长度)',
        usage: '提取字符串 长度可为空'
      },
      {
        name: 'Split',
        enCode: 'Split',
        isNullParam: false,
        tip: '分割字符串为数组',
        example: 'Split(变量,分隔符)',
        usage: '分割字符串为数组'
      },
      {
        name: 'Join',
        enCode: 'Join',
        isNullParam: false,
        tip: '将数组',
        example: 'Join(一组数据变量,分隔符)',
        usage: '将数组拼接为字符串： Join("a","b","c"],",") == "a,b,c"'
      }
    ]
  }]
}
